home *** CD-ROM | disk | FTP | other *** search
/ All for Cell Phones: Sony Ericsson / Sony-Ericsson 2004.iso / Java / MicroCalc / MicroCalc.jar / e.class (.txt) < prev    next >
Encoding:
Java Class File  |  2001-11-07  |  5.4 KB  |  346 lines

  1. import java.util.Stack;
  2.  
  3. // $FF: renamed from: e
  4. public class class_0 {
  5.    // $FF: renamed from: new int
  6.    public int field_0;
  7.    // $FF: renamed from: for long
  8.    public long field_1 = MathFP.toFP("0");
  9.    // $FF: renamed from: do java.util.Stack
  10.    private Stack field_2 = new Stack();
  11.    // $FF: renamed from: if java.util.Stack
  12.    private Stack field_3 = new Stack();
  13.    // $FF: renamed from: int int
  14.    public int field_4 = -1;
  15.    // $FF: renamed from: a int[]
  16.    public int[] field_5 = new int[]{0, 1, 1, 2, 2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 6};
  17.  
  18.    public class_0() {
  19.       this.method_4();
  20.    }
  21.  
  22.    // $FF: renamed from: if (int) void
  23.    public void method_0(int var1) {
  24.       if ((this.field_4 == 0 || this.field_4 >= 6) && CalcManager.isNewValue) {
  25.          this.method_4();
  26.       }
  27.  
  28.       this.field_4 = var1;
  29.       long var3 = CalcManager.currValL;
  30.       if (!CalcManager.isNewValue) {
  31.          if (var1 == 0) {
  32.             this.field_1 = this.method_1();
  33.          } else if (this.field_5[var1] == 5) {
  34.             this.field_3.push(new d(var1));
  35.             this.field_1 = this.method_3();
  36.          } else if (this.field_5[var1] == 4) {
  37.             if (!this.field_2.empty() && this.field_3.empty()) {
  38.                if (this.field_3.empty()) {
  39.                   this.field_3.push(new d(var1));
  40.                   this.field_1 = this.method_3();
  41.                }
  42.             } else {
  43.                this.field_3.push(new d(var1));
  44.                this.field_1 = this.method_3();
  45.             }
  46.          } else if (this.field_3.empty()) {
  47.             this.field_3.push(new d(var1));
  48.          } else {
  49.             d var6 = (d)this.field_3.peek();
  50.             if (this.field_5[var6.a] < this.field_5[var1]) {
  51.                this.field_3.push(new d(var1));
  52.             } else {
  53.                this.field_1 = this.method_2(var1);
  54.                this.field_3.push(new d(var1));
  55.             }
  56.          }
  57.       } else {
  58.          var3 = CalcManager.currValL;
  59.          this.field_1 = CalcManager.currValL;
  60.          if (var1 == 0) {
  61.             this.field_2.push(new c(var3));
  62.             this.field_1 = this.method_1();
  63.          } else if (this.field_5[var1] == 5) {
  64.             this.field_3.push(new d(var1));
  65.             this.field_1 = this.method_3();
  66.          } else if (this.field_5[var1] == 4) {
  67.             if (!this.field_2.empty() && this.field_3.empty()) {
  68.                if (this.field_3.empty()) {
  69.                   this.field_3.push(new d(var1));
  70.                   this.field_1 = this.method_3();
  71.                }
  72.             } else {
  73.                this.field_2.push(new c(var3));
  74.                this.field_3.push(new d(var1));
  75.                this.field_1 = this.method_3();
  76.             }
  77.          } else if (this.field_2.empty()) {
  78.             this.field_2.push(new c(var3));
  79.             this.field_3.push(new d(var1));
  80.          } else if (this.field_3.empty()) {
  81.             this.field_3.push(new d(var1));
  82.          } else {
  83.             this.field_2.push(new c(var3));
  84.             d var7 = (d)this.field_3.peek();
  85.             if (this.field_5[var7.a] < this.field_5[var1]) {
  86.                this.field_3.push(new d(var1));
  87.             } else {
  88.                this.field_1 = this.method_2(var1);
  89.                this.field_3.push(new d(var1));
  90.             }
  91.          }
  92.       }
  93.  
  94.       CalcManager.decimal = CalcManager.hasDecimal;
  95.       CalcManager.clearCurrValue();
  96.       CalcManager.currValL = this.field_1;
  97.       CalcManager.setCurrValue(MathFP.toString(CalcManager.currValL, 5));
  98.       CalcManager.removeZeros();
  99.    }
  100.  
  101.    // $FF: renamed from: if () long
  102.    public long method_1() {
  103.       long var1;
  104.       for(var1 = MathFP.toFP("0"); !this.field_3.empty(); var1 = this.method_3()) {
  105.       }
  106.  
  107.       return var1;
  108.    }
  109.  
  110.    // $FF: renamed from: a (int) long
  111.    public long method_2(int var1) {
  112.       long var2;
  113.       for(var2 = MathFP.toFP("0"); !this.field_3.empty(); var2 = this.method_3()) {
  114.          d var4 = (d)this.field_3.peek();
  115.          if (this.field_5[var4.a] < this.field_5[var1]) {
  116.             break;
  117.          }
  118.       }
  119.  
  120.       return var2;
  121.    }
  122.  
  123.    // $FF: renamed from: a () long
  124.    public long method_3() {
  125.       long var2 = MathFP.toFP("0");
  126.       long var4 = MathFP.toFP("0.017453292519943295769236907684886");
  127.       long var6 = MathFP.toFP("0.015707963267948966192313216916398");
  128.       long var8 = MathFP.toFP("57.295779513082320876798154814105");
  129.       long var10 = MathFP.toFP("63.661977236758134307553505349006");
  130.       c var12 = new c();
  131.       c var13 = new c();
  132.       d var14 = (d)this.field_3.pop();
  133.  
  134.       try {
  135.          if (var14.a < 6) {
  136.             try {
  137.                var13 = (c)this.field_2.pop();
  138.             } catch (Exception var17) {
  139.                c var15 = new c(MathFP.toFP("0"));
  140.                var13 = var15;
  141.             }
  142.  
  143.             try {
  144.                var12 = (c)this.field_2.pop();
  145.             } catch (Exception var18) {
  146.                c var20 = new c(MathFP.toFP("0"));
  147.                if (var14.a == 5) {
  148.                   var20.a = MathFP.toFP("1");
  149.                   var12 = var13;
  150.                   var13 = var20;
  151.                } else if (var14.a == 4) {
  152.                   var20.a = MathFP.toFP("1");
  153.                   var12 = var13;
  154.                   var13 = var20;
  155.                } else if (var14.a == 3) {
  156.                   var20.a = MathFP.toFP("1");
  157.                   var12 = var20;
  158.                } else if (var14.a == 2) {
  159.                   var20.a = MathFP.toFP("0");
  160.                   var12 = var13;
  161.                   var13 = var20;
  162.                } else if (var14.a == 1) {
  163.                   var20.a = MathFP.toFP("0");
  164.                   var12 = var20;
  165.                }
  166.             }
  167.          } else if (var14.a < 18) {
  168.             var12 = (c)this.field_2.pop();
  169.          }
  170.  
  171.          switch (var14.a) {
  172.             case 1:
  173.                var2 = MathFP.add(var12.a, var13.a);
  174.                break;
  175.             case 2:
  176.                var2 = MathFP.sub(var12.a, var13.a);
  177.                break;
  178.             case 3:
  179.                var2 = MathFP.mul(var12.a, var13.a);
  180.                break;
  181.             case 4:
  182.                var2 = MathFP.div(var12.a, var13.a);
  183.                break;
  184.             case 5:
  185.                var2 = MathFP.pow(var12.a, var13.a);
  186.                break;
  187.             case 6:
  188.                var2 = MathFP.pow(var12.a, MathFP.toFP("2"));
  189.                break;
  190.             case 7:
  191.                var2 = MathFP.div(MathFP.toFP("1"), var12.a);
  192.                break;
  193.             case 8:
  194.                var2 = MathFP.sqrt(var12.a);
  195.                break;
  196.             case 9:
  197.                var2 = MathFP.log(var12.a);
  198.                break;
  199.             case 10:
  200.                var2 = MathFP.div(MathFP.log(var12.a), MathFP.log(MathFP.toFP("10")));
  201.                break;
  202.             case 11:
  203.                if (this.field_0 == 0) {
  204.                   var12.a = MathFP.mul(var4, var12.a);
  205.                }
  206.  
  207.                if (this.field_0 == 2) {
  208.                   var12.a = MathFP.mul(var6, var12.a);
  209.                }
  210.  
  211.                var2 = MathFP.sin(var12.a);
  212.                if (MathFP.abs(var2) < MathFP.toFP("0.0001")) {
  213.                   var2 = MathFP.toFP("0");
  214.                }
  215.                break;
  216.             case 12:
  217.                if (this.field_0 == 0) {
  218.                   var12.a = MathFP.mul(var4, var12.a);
  219.                }
  220.  
  221.                if (this.field_0 == 2) {
  222.                   var12.a = MathFP.mul(var6, var12.a);
  223.                }
  224.  
  225.                var2 = MathFP.cos(var12.a);
  226.                if (MathFP.abs(var2) < MathFP.toFP("0.0001")) {
  227.                   var2 = 0L;
  228.                }
  229.                break;
  230.             case 13:
  231.                if (this.field_0 == 0 && var12.a == MathFP.toFP("45")) {
  232.                   var2 = MathFP.toFP("1");
  233.                } else {
  234.                   if (this.field_0 == 0) {
  235.                      var12.a = MathFP.mul(var4, var12.a);
  236.                   }
  237.  
  238.                   if (this.field_0 == 2) {
  239.                      var12.a = MathFP.mul(var6, var12.a);
  240.                   }
  241.  
  242.                   long var22 = MathFP.cos(var12.a);
  243.                   if (MathFP.abs(var22) < MathFP.toFP("0.0001")) {
  244.                      var22 = MathFP.toFP("0");
  245.                   }
  246.  
  247.                   var2 = MathFP.div(MathFP.sin(var12.a), var22);
  248.                   if (MathFP.abs(var2) < MathFP.toFP("0.0001")) {
  249.                      var2 = MathFP.toFP("0");
  250.                   }
  251.                }
  252.                break;
  253.             case 14:
  254.                var2 = MathFP.asin(var12.a);
  255.                if (this.field_0 == 0) {
  256.                   var2 = MathFP.mul(var8, var2);
  257.                }
  258.  
  259.                if (this.field_0 == 2) {
  260.                   var2 = MathFP.mul(var10, var2);
  261.                }
  262.  
  263.                if (MathFP.abs(var2) < MathFP.toFP("0.0001")) {
  264.                   var2 = MathFP.toFP("0");
  265.                }
  266.                break;
  267.             case 15:
  268.                var2 = MathFP.acos(var12.a);
  269.                if (this.field_0 == 0) {
  270.                   var2 = MathFP.mul(var8, var2);
  271.                }
  272.  
  273.                if (this.field_0 == 2) {
  274.                   var2 = MathFP.mul(var10, var2);
  275.                }
  276.  
  277.                if (MathFP.abs(var2) < MathFP.toFP("0.0001")) {
  278.                   var2 = MathFP.toFP("0");
  279.                }
  280.                break;
  281.             case 16:
  282.                if (this.field_0 == 0 && var12.a == MathFP.toFP("1")) {
  283.                   var2 = MathFP.toFP("45");
  284.                } else {
  285.                   var2 = MathFP.atan(var12.a);
  286.                   if (this.field_0 == 0) {
  287.                      var2 = MathFP.mul(var8, var2);
  288.                   }
  289.  
  290.                   if (this.field_0 == 2) {
  291.                      var2 = MathFP.mul(var10, var2);
  292.                   }
  293.  
  294.                   if (MathFP.abs(var2) < MathFP.toFP("0.0001")) {
  295.                      var2 = MathFP.toFP("0");
  296.                   }
  297.                }
  298.                break;
  299.             case 17:
  300.                if (CalcManager.hasDecimal) {
  301.                   CalcManager.error = true;
  302.                   var2 = MathFP.toFP("0");
  303.                } else {
  304.                   long var21 = MathFP.toLong(var12.a);
  305.                   if (var21 != 0L && var21 != 1L) {
  306.                      for(var2 = var12.a; var21 > 1L; var2 = MathFP.mul(var2, MathFP.toFP(var21))) {
  307.                         var21 = MathFP.sub(var21, 1L);
  308.                      }
  309.                      break;
  310.                   }
  311.  
  312.                   var2 = MathFP.toFP("1");
  313.                }
  314.                break;
  315.             case 18:
  316.                var2 = MathFP.E;
  317.                break;
  318.             case 19:
  319.                var2 = MathFP.PI;
  320.             case 20:
  321.             default:
  322.                break;
  323.             case 21:
  324.                var2 = CalcManager.memory;
  325.          }
  326.  
  327.          this.field_2.push(new c(var2));
  328.       } catch (Exception var19) {
  329.          CalcManager.error = true;
  330.          ((Throwable)var19).printStackTrace();
  331.          var2 = MathFP.toFP("0");
  332.       }
  333.  
  334.       return var2;
  335.    }
  336.  
  337.    // $FF: renamed from: do () void
  338.    public void method_4() {
  339.       MathFP.setPrecision(24);
  340.       this.field_2.removeAllElements();
  341.       this.field_3.removeAllElements();
  342.       this.field_1 = MathFP.toFP("0");
  343.       this.field_4 = -1;
  344.    }
  345. }
  346.